SATAN Frequently Asked Questions (FAQ)
Table of Contents
(Last-modified: April 10th, 1995)
General questions
Troubleshooting
(Getting it to work/run at all)
(Problems when running it)
- SATAN doesn't find any hosts at all - it starts
and stops with "(0 host(s) visited)". This is bogus! Give me my
money back!
- SATAN crashed, hung, or did very odd things to a system
that it was run against.
- I'm using a B/W monitor, and it's
hard to see the difference between red and black dots. What can I do?
- How can I change from one HTML browser (e.g. Mosaic,
Netscape, whatever) to another, without running reconfig or something?
- Why does SATAN keep fingering the
same host(s) over and over again?
- I ran SATAN to analyze my results and the
machine slows grinds down to a standstill (and possibly crashes), but I
don't get any answers.
- Given that Satan starts its own http server
on the local host, why doesn't it use 'localhost' instead of the FQDN
of the local host when trying to contact it?
- Whenever I click on a hyper link it doesn't work.
- I merged some databases together with the "merge"
function in the SATAN Data Management, but when I exited SATAN,
they weren't saved. What gives?
- I get "bin/tcp_scan: socket: Too many open files"
in the window from which I start Satan.
Comparisons, Hype, etc.
Tech stuff
Really important things
How can I contact the authors?
Send mail to satan@fish.com (or click
on the e-mail address); this will be sent to both of the authors.
Failing this, you can send mail directly to Dan:
zen@fish.com
or Wietse:
wietse@wzv.win.tue.nl
What's the deal? Who cares? Why all the publicity?
SATAN appears to be a tool written at the right time. The current (as
of April, 1995) flurry of concern and press about SATAN is not really
all about SATAN - anything that is Internet related is big news these
days. Combine that with the recent Mitnick/Shimomura hunt and capture,
as well as the latest IP spoofing techniques being publicized, and you
have, for whatever reason, a big story in SATAN.
There are some technical reasons why SATAN is important - it
does do and detect things that weren't possible before,
at least by no other tools or methods that the authors knew about. It's
easy to use, and fills a gap that was only poorly covered by previous
software. However, the death of the Internet is not, and should not
be predicted.
You need to upgrade your version of perl - you're probably using the
alpha version of perl5.
To uncompress the archives, you'll need to use the Un*x uncompress program
if it ends in ".Z", or the GNU unzip if it ends in ".gz".
perl5 is available via anonymous ftp from ftp.netlabs.com
ctime.pl is bundled with perl5; if you've installed that, you should
have it - look for it in the library subdirectories. If it's there,
as a last resort you can copy "ctime.pl" (and perhaps "getopts.pl"
into the main SATAN directory, and SATAN should find it there.
You can do a "xhost +hostname", where "hostname" is the host you're
running it on, and try again. Also, look at
the problems with X, networks, and SATAN
DEC/Ultrix doesn't have "rpcgen". You'll need to run it
on another machine and drag the resulting source code over (or upgrade
to SATAN version 1.1 or better.)
Calm down. You probably can't use ICMP to detect if a host is alive
or not. Try setting "$dont_use_ping=1" in config/satan.cf (it's
near the bottom.) It should work, or we'll give you double your money back.
We've received reports of various OS's that seem to have significant
trouble with SATAN scans, particularily the UDP and TCP scans that span
lots of ports. Among the afflicted:
- DEC Alphas running OSF/1 1.3 - generates a kernal memory fault when
the UDP scan is done, rolls over and dies. The file system is sufficiently
hosed such that the system remains in single user mode upon reboot.
- A few Mac's had ethernet problems, spewing packets back at the
SATAN machine when fping-ed, causing the SATAN host to slow down
tremendously trying to handle the traffic.
- OS/2, version 3.0 of the networking code. A report that it
locked up the telnet and ftp daemons. A restart of inetd is required
to get things going again.
- Ultrix systems running 4.2A - the elcsd process start
to loop, consuming all available CPU cycles.
- SunOS 5.4 - an extra inetd process is forked off, adding 1.0 to
the system load.
It could be, with a large amount of data, that SATAN is using too much
memory to fit in your machine. An enormous amount of memory is
consumed by the program (see
Given that Satan starts its own http server
on the local host, why doesn't it use 'localhost' instead of the FQDN
of the local host when trying to contact it?
This breaks some HTML browsers. Try running with $dont_use_nslookup (found
in config/satan.cf) when your naming service is crippled.
Be careful if you use proxy services (typically if you're behind a
firewall you do) to access the WWW - you should unset environment
variables (such as $http_proxy $file_proxy, $socks_ns, etc.) and/or
change your browser's configuration to not use your SOCKS host or HTTP
Proxy host (in your HTML browser's option section.)
The database merging only works in memory. Currently there is no way to
save this to disk (until the next version of SATAN.)
The machine's open file table is getting exhausted. Tcp_scan backs off
and succeeds after a few attempts. You'll need to build a bigger kernel or
run less processes.
Linux is far from a standard Un*x, and SATAN has a tendency to push the
OS and perl to the limits. We've tried to do as much as possible to
make it work, but there are probably various problems we haven't found
because we don't have a Linux box to play with. (Cross?) posting to
comp.security.unix and comp.os.linux.* could probably give you more
help than we could.
This could be built into satan; the most reliable general solution
would be to send mail to the probed system (say, to "root" or "postmaster").
A beta-tester suggested that an entry could be written to the target's
syslog. Neither of the solutions are incredibly reliable. The
former relies on someone reading the mail and the account existing, as
well as having to deal with hundreds if not thousands of pieces of mail
that might go to machines that the user of SATAN controls. The latter
has several problems, first and foremost in that it depends on people
actually looking at the syslog records, and secondly that if an intruder
uses SATAN to break in, they will typically "flatten", modify, or simply
destroy such records. Finally, many systems don't run or have non-standard
syslog programs and quite a few filter out requests with packet filters,
so they would never see the warning.
Nonetheless, we'll probably be putting either or both of these as options in
the next release of SATAN.
COPS is a host-based Un*x security auditing tool; that means you run it
on the host you wish to examine the security of. SATAN is a remote
network security auditing tool, which means it can report
on the security of any host OR network that has IP connectivity to where
you run the tool; you don't need an account or privileges on the remote
targets to report on them.
ISS, and any other remote auditing tool that we're aware of, scans a network
or remote host and then reports on any problems that it may find. While
SATAN does that as well, the inferencing, the web of trust that it
uncovers, the automatic probing of secondary targets, the rich reporting
schema with context sensitive hypertext links to the documentation, the
rich configurability, etc. all make SATAN different to what is currently
available.
This means it can report on the security of any host OR network that has
IP connectivity to where you run the tool; you don't need an account or
privileges on the remote targets to report on them.
The easiest thing to do is to just mv (or link or whatever) the
html/dots/whitedot.gif to html/dots/reddot.gif. That'll
give a much higher contrast and should be easier to read.
Simply edit the file config/paths.pl. You'll see a line that
looks like:
$MOSAIC = "/usr/local/bin/netscape";
Change the path inside the parenthesis to point to wherever your
preferred browser is; for instance, if you want to use Mosaic, and it's
in /usr/bin/X11, you'd change the above line to:
$MOSAIC = "/usr/bin/X11/Mosaic";
SATAN will finger a host repeatedly if it gets new information about the
host; for instance, if it finds out that a user might exist on a host, it
will finger to try and find out remote login information.
SATAN saves data at regular intervals to its database files; the easiest
thing to do is to simply start it up again, with the same target and
probe levels. If SATAN has remembered anything, it will grind away for
awhile, finding out what it has seen before, and then resume on the targets
that it hasn't scanned.
CIAC wrote and is distrbuting something called
Courtney, but it is far from foolproof. It is very difficult
to detect the lighter SATAN scans; the heavier ones, however, are
typically best detected by running Wietse's tcpd wrappers and examining
the logs - a good tipoff is if many of your machines in the same area
log connections from the same remote site. Some of the SATAN probes
output a message to the console - if users report odd messages on their
console screen, take them seriously ;-)
SATAN, at least on the server side, is heavily linked to Un*x and perl5.
While it might be possible to port SATAN to one of these other OS's (if
you can call them that! ;-)) would be fairly difficult and not something
that either one of us wants to touch with a ten foot (or ~ 3 meter) pole.
SATAN uses perl extensively in it's tests; the .satan
probes use such commands as:
open(FOO, "|program <<_EOF
some input
more input
_EOF");
This will leave a temporary file behind when SATAN determines that they
have run out of time and kill off the probe. Almost all temporary files
that are created at various time within the SATAN are deleted
automatically, but since the << files are created internally by the shell,
it is impossible for SATAN to know how to delete the files
that remain. Simply delete them, or create a cron job to
automatically sweep the /tmp directory for you.
There are several reasons why SATAN does not probe for all known bugs:
- Pointing out bugs is one thing, but fixing them is not always
possible. With the first release, SATAN focuses on problems that can be
fixed or worked around by the system administrator, at least when the
operating system version is reasonably up to date.
- The authors have only a few hours in the day available for SATAN
development, and writing the data collection tools wasn't nearly as much
fun as building the SATAN framework that controls them.
- Many bugs are *extremely* difficult to check for, especially when
you're dealing with code that has to return a yes or no in a very short
time over potentially thousands of hosts.
Back to the Documentation TOC